1. Field of the Invention
The present invention relates to processors and computer systems. More specifically, the present invention relates to an object-oriented processor architecture and operating method.
2. Description of the Related Art
A conventional central processing unit (CPU) of a processor functions in a sequential manner, repeatedly fetching and executing instructions in a predefined order. This sequential operation is typical of a von Neumann-architecture computer.
Software technologies have evolved to advantageously employ a concept of object-oriented computing in which program operations are organized as cooperative collections of objects, each representing an instance of some class. The classes are members of a hierarchy of classes that are united by inheritance relationships. In the object-oriented structure, classes are generally viewed as static while objects have a dynamic nature. Object-oriented approaches have led to improved productivity in program production, improved program reliability and reduction of programming errors, and improved performance in complex programs. Object-oriented approaches are universally applied as software constructs such as purely C++ type data structures that are suitable for software execution and implementation at the very high application level.
The conventional CPU does not implement the concept of a data structure or of object-oriented computing. Instead, data structures and object-oriented computing are imposed at a high architectural level such as the operating system level and translated into conventional instructions that are executed by the CPU using conventional sequential execution of primitive instructions.
Object-oriented approaches are currently attained only by high level software operating systems and high level software applications. Accordingly, object-oriented approaches are only available with the activation of a software system disadvantageously incurring software overhead that reduces processor performance.
What is needed is a processor and associated operating method that achieves object-oriented functionality without incurring software overhead and degraded performance.